/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.mindbox.mueblesalpes.presentacion.producto;

import com.mindbox.mueblesalpes.negocio.entity.MuebleInventario;
import com.mindbox.mueblesalpes.negocio.entity.Mueble;
import com.mindbox.mueblesalpes.negocio.producto.IProductoService;
import com.mindbox.mueblesalpes.negocio.producto.ProductoService;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.model.SelectItem;
/**
 *
 * @author Catalina
 */

public class ProductoInventarioBean {

    private String referencia;
    private Double precio;
    private Integer cantidad;

    private List<MuebleInventario> listProducto = new ArrayList<MuebleInventario>();
    private List<Mueble> listMuebles = new ArrayList<Mueble>();

    private List<SelectItem> mueblesItems = new ArrayList<SelectItem>();

    @EJB
    private IProductoService productoService;

    /** Creates a new instance of ProductoInventarioBean */
    public ProductoInventarioBean() {
        cantidad = 0;
        precio = 0.0;        
    }

    @PostConstruct
    private void cargarItemsMuebles(){

        listProducto = productoService.consultarInventarioProductos();
        listMuebles = productoService.consultarMuebles();
        for (Mueble mueble : listMuebles) {
            SelectItem item = new SelectItem(mueble.getReferencia());
            mueblesItems.add(item);
        }        
    }

    public String insertarProducto(){
        MuebleInventario muebleInventario = new MuebleInventario();

        muebleInventario.setCantidad(cantidad);
        muebleInventario.setPrecio(precio);

        Mueble mueble = new Mueble();
        mueble.setReferencia(referencia);

        List<Mueble> muebles = productoService.consultarMueble(mueble);

        muebleInventario.setMueble(muebles.iterator().next());
        productoService.editarProductoInventario(muebleInventario);
        return null;
    }

    public Integer getCantidad() {
        return cantidad;
    }

    public void setCantidad(Integer cantidad) {
        this.cantidad = cantidad;
    }

    public Double getPrecio() {
        return precio;
    }

    public void setPrecio(Double precio) {
        this.precio = precio;
    }

    public String getReferencia() {
        return referencia;
    }

    public void setReferencia(String referencia) {
        this.referencia = referencia;
    }

    public List<MuebleInventario> getListProducto() {
        return listProducto;
    }

    public void setListProducto(List<MuebleInventario> listProducto) {
        this.listProducto = listProducto;
    }

    public List<Mueble> getListMuebles() {
        return listMuebles;
    }

    public void setListMuebles(List<Mueble> listMuebles) {
        this.listMuebles = listMuebles;
    }

    public List<SelectItem> getMueblesItems() {
        return mueblesItems;
    }

    public void setMueblesItems(List<SelectItem> mueblesItems) {
        this.mueblesItems = mueblesItems;
    }

    
}